package com.sino.second.dao;

import java.util.List;

import com.sino.second.bean.TblXmfs3;
import com.sino.second.bean.TblXmjg2;
import com.sino.second.bean.TblXmjg3;

public interface IExpertsVoteDAO {
	/**
	 * 列出所有通过复审的项目信息
	 * 
	 * @return
	 */
	public List<TblXmjg2> listAllPastSecondReviewProject(String hqlWhere);

	/**
	 * 增加一条委员会评审记录
	 * 
	 * @param xmfs3
	 */
	public void saveTblXmfs3(TblXmfs3 xmfs3);

	/**
	 * 更新一条委员会评审记录
	 * 
	 * @param xmfs3
	 */
	public void updateTblXmfs3(TblXmfs3 xmfs3);

	/**
	 * 根据项目id与专家id查找唯一一条记录
	 * 
	 * @param basicInfoId
	 * @param ExpertId
	 * @return
	 */
	public TblXmfs3 findTblXmfs3ByBasicInfoAndExpert(String basicInfoId,
			Integer ExpertId,String hqlWhere);

	/**
	 * 查找一个专家投票过的所有项目
	 * 
	 * @param ExpertId
	 * @return
	 */
	public List<TblXmfs3> listTblXmfs3ByExpert(Integer expertId,String hqlWhere);

	/**
	 * 查询列出委员会投票结果
	 * 
	 * @return
	 */
	public List<?> listTblXmfs3VoteResult(String hqlWhere);
	/**
	 * 查找已经投票的专家数
	 * @return
	 */
	public int listAlreadyVoteExpertCount(String hqlWhere);
	/**
	 * 增加一条大评委结果表记录
	 * @param xmjg3
	 */
	public void saveTblXmjg3(TblXmjg3 xmjg3);
	/**
	 * 通过项目id查找大评委结果表中的一条记录
	 * @param basicInfoId
	 * @return
	 */
	public TblXmjg3 findTblXmjg3ByBasicInfoId(String basicInfoId,String hqlWhere);
	/**
	 * 更新一条大评委结果表记录
	 * @param xmjg3
	 */
	public void updateTblXmjg3(TblXmjg3 xmjg3);
	/**
	 * 查询列出所有大评委评选结果
	 * @return
	 */
	public List<TblXmjg3> listAllTblXmjg3(String hqlWhere);
	/**
	 * 截断表TblXmjg3
	 *
	 */
	public void delTblXmjg3(String hqlWhere);
	/**
	 * 根据条件查询委员会分数表中的专家id列表
	 * @param hqlWhere
	 * @return
	 */
	public List<Integer> listXmfs3Expert(String hqlWhere);

}
